package code;

//题目链接：https://leetcode.cn/problems/combination-sum-iv/
public class ConbationSum4 {
	 //dp[i]: 凑成总和为i，总共有多少种排列数
    public int combinationSum4(int[] nums, int target) {
        int[] dp=new int[target+1];
        dp[0]=1;
        for(int i=1;i<=target;i++){
        	//枚举最后一个选择的数
            for(int j=0;j<nums.length;j++){
                if(i>=nums[j]){
                    dp[i]+=dp[i-nums[j]];
                }
            }
        }
        return dp[target];
    }
}
